home *** CD-ROM | disk | FTP | other *** search
INI File | 1994-11-01 | 5.4 KB | 140 lines |
- [LANGUAGE english; PARENT index; PAGE 5]
- [C;6;B] Frequently Asked Questions ... and answers!
- And the known bugs
- [J;1;N]
- Note: at anytime, if you think there is a problem you may make a first \
- check using the WARNING instruction. This way you may discover a lot \
- of strange things...
- [C;3][LINK warning] WARNING
- [J;1]
-
- [5] It says lk was compatible to Slink and DICE, but I checked \
- once without success!
- [1]
- lk has been build to replace any linker (other linker object \
- files and documentations are welcome...) For this reason you need \
- a preferences file to ensure one mode or another. This is \
- available into 'LK:PREFS/' directory. You can simply rename \
- (or copy) the needed file into: 'lk.prefs' and run your \
- link again. Usuly the file 'lk.prefs' remains in 'LK:PREFS/' \
- directory, but you may move that file into the directory \
- from which you link.
- Please refer to the specific linker for more detailed \
- informations.
-
-
- [5] My file is bigger with SD (or SC) !
- [1]
- This may happend. The best way to make the smallest file than \
- you can is not always to use SD. Some files will be smaller with only \
- XDATA. lk is able to suppress zeroes at the end of each data hunk, \
- but SMALLDATA force all hunks to be linked one after another. This \
- means zeroes will be suppressed only in the last data hunk.
- The best way to know the best solution is to check each one.
-
-
- [5] My resident crash or does not run properly:
- [1]
- You probably forgot to use the PURE flag. This flag will force \
- lk to generate a table of relocation offset for the near data hunk. \
- That table is saved at the end of the hunk (Note that it usuly \
- starts where the BSS was.)
- This table is needed if you use SAS/C 'cres.o' object file.
- Because of this table, link an executable file with any option \
- which change the data hunk organization may generate an invalid \
- program.
-
-
- [5] The command line generates errors:
- [1]
- The command line is not completly compatible to any other \
- linker. This would be hard to do so while each of them has a \
- specific way to do that. Then please, refer to the documentation \
- if you have any particuliar problem.
- For instance Slink enable you to use any number of FROM or \
- ROOT instructions. On my side I create a warning and files \
- following the second FROM or ROOT will not be part of the link.
-
-
- [5] Automatic file type:
- [1]
- If you use the AUTOLIBRARY flag you should avoid the \
- LIBRARY (and also LIB/-l) instruction. This will ensure you that \
- the libraries are used in the given order.
-
-
- [5] The near data hunk:
- [1]
- Because lk tries to make its best in order to produce the \
- smallest possible executable, the near data hunks may not be \
- ordered like you thought. This is not a problem if you do not \
- have to care about the DATA hunks order. This is the case most \
- of the time.
-
-
- [5] Strange things happend when I installed QuickDOS!
- [1]
- This is possible. QuickDOS is used by lk in a special way \
- which some times generates some kind of problems. Those might \
- be a misfunction of patterns, or the impossibility to load the \
- same file twice (which should not be useful.) Usuly this can \
- simply be avoid with the use of QDSTOP keyword:
- [C;3][LINK qdstop] QDSTOP
- [J;1]
-
- [5] Compatibility with DICE 2.06.35
- [1]
- The option '-frag' of dice will not split the autoinit and \
- autoexit hunks. lk does not actually do that, it really split \
- every hunks.
- The NOEMPTYHUNK option will generate a wrong output file \
- when you link with DICE object files. Those uses initilisation \
- and exit code in a very special way and emptyhunks are \
- necessary for that purpose (Note that no empty hunk is \
- generated into the output file however.)
-
-
- [5] Compatibility with Slink of SAS any version
- [1]
- You may find some instructions which differ from Slink. All \
- functions from Slink are available but all cannot be used the \
- same way. There is a brief list:
- [L;3][LINK chip] CHIP
- [LINK define] DEFINE
- [LINK fast] FAST
- [LINK map] MAP
- [LINK hunk] MAXHUNK
- [LINK nodebug] NODEBUG (Use STRIPDEBUG instead)
- [LINK overlay] OVERLAY/END
- [LINK createlibrary] PRELINK
- [LINK quiet] QUIET
- [LINK xref] XREF
- [J;1]
- The overlays of lk are very specific to it-self and \
- are for sure a lot more viable. If you had some overlaid \
- executables, you may have some good suprises...
-
- If you created your own startup file, you will probably \
- have some trouble if you use the default preferences files \
- 'slink.prefs'. This is due to the set-up available in that \
- preferences file, it suppose that you use the default 'c.o' \
- or another default SAS startup. Thank you to refer you to \
- each instruction present into that preference file to \
- see which are and which are not correct with your own \
- startup file.
-
-
- [5] Compatibility Blink/Slink with SAS 4.xx
- [1]
- I know, because I worked out on that particular point, \
- that lk may include the DATA long word '_DOSBase' within the \
- BSS hunk. This means it will be cleared by the little loop \
- which reset the BSS hunk. To be sure to avoid that bug \
- you may clear the BSS hunk at the beginning of your 'c.a' \
- file, before to open dos.library (like DICE does) or put another \
- value than zero inside the DOSBase variable (which is an ugly \
- technic) to be sure it will not be part of the BSS hunk.
- This can happend because lk, to create XDATA hunks, does \
- not take care of DATA/BSS hunks but check the end of the \
- final hunks and check back cleared longs.
-